package com.project.mapper;

import com.project.bean.CutPageBean;
import com.project.bean.OrderBean;
import com.project.bean.OrderDetailBean;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface IOrderMapper {
    /**
     * 动态条件分页查询订单信息（
     * @param pageNO 页码号
     * @param receiver 收货人
     * @return 分页对象
     */
    CutPageBean<OrderBean> cutByItem(Integer pageNO, String receiver);

    /**
     * 动态查询指定页订单信息
     * @param start 起始位置
     * @param pageSize 页范围
     * @param receiver 收货人
     * @return 当前页订单集合
     */
    List<OrderBean> cutByItemList(@Param("start") Integer start,@Param("pageSize") Integer pageSize,@Param("receiver") String receiver);

    /**
     * 动态查询指定页订单总记录数
     * @param receiver 收货人
     * @return 总记录数
     */
    int getTotalByItem(String receiver);
    /**
     * 添加订单，同时添加该订单
     * @param order 订单对象
     */
    void add(OrderBean order);

    /**
     * 添加订单明细
     * @param orderDetail
     */
    void addDetail(OrderDetailBean orderDetail);

    /**
     * 按编号查询订单，同时查询该订单的明细信息。
     * @param orderId 订单编号
     * @return 订单对象
     */
    OrderBean findById(Integer orderId);
}
